fix(openai): ignore incomplete and duplicate GPT Live backend tool calls - #7230
Open
kiwijuicer wants to merge 2 commits into
Open
fix(openai): ignore incomplete and duplicate GPT Live backend tool calls#7230kiwijuicer wants to merge 2 commits into
kiwijuicer wants to merge 2 commits into
Conversation
longcw
approved these changes
Sep 14, 2026
longcw
left a comment
Contributor
There was a problem hiding this comment.
looks good to me! something nit:
Use the known Responses item statuses requested in review. Keep the item union weak-referenceable so OpenAI 2.53 can construct unknown statuses on Python 3.13 and let the dispatch guard ignore them. The existing failed-status regression catches the PEP 604 parsing error.
longcw
reviewed
Sep 14, 2026
Comment on lines
+737
to
+738
| if item.status != "completed": | ||
| return |
Contributor
There was a problem hiding this comment.
Suggested change
| if item.status != "completed": | |
| return | |
| if item.status != "completed": | |
| logger.debug( | |
| "gpt-live ignoring incomplete function call", | |
| extra={"name": item.name, "status": item.status}, | |
| ) | |
| return |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A wrapped Responses
response.output_item.doneevent does not establish that its function-call item completed. GPT Live currently emits the call even when its status is incomplete, and emits a second call when the same completed item is delivered again.Declare the output item's optional status, require
completedbefore recording or dispatching a function call, and use the current response's existing call-ID set to suppress duplicate dispatch. Deduplication stays scoped to the tracked response; this does not claim exactly-once execution across reconnects or responses.Regression coverage includes missing/null/incomplete/in-progress/failed status, a later completed event, duplicate calls, distinct calls, and response continuation after all results arrive. The GPT Live and duplex adapter suites pass (103 tests), as does
make check.